This invention relates to multicasting data.
Multicasting allows a data source to transmit a packet or a stream of data across a network such as the Internet to a multicast group regardless of the number of recipients included in the multicast group. Routers capable of handling multicast traffic can replicate and forward the packet or stream as necessary to accommodate any number of recipients in the multicast group.
Clients, e.g., mobile or stationary computers, personal digital assistants, telephones, pagers, and other devices capable of communicating with the network, and the routers can use an Internet Gateway Management Protocol (IGMP) to dynamically create the multicast group. The routers deliver multicast data to members of the dynamically produced multicast group using a multicast routing protocol such as distance vector multicast routing protocol (DVMRP), multicast extensions to open shortest path first (MOSPF), and/or protocol independent multicast (PIM).
The multicast routing protocol establishes a distribution tree for the multicast data where the data is transmitted along “branches” of the tree through the network to the tree “leaves,” the members of the multicast group. As clients join the multicast group, the tree can “grow” more branches to reach the new members. Similarly, as clients leave the multicast group, branches can be “pruned” from the tree to prevent the multicast data from unnecessarily traveling through the network.